/// code : 1
/// data : {"content":["",""],"endRow":8,"firstPage":1,"hasNextPage":false,"hasPreviousPage":false,"isFirstPage":true,"isLastPage":true,"lastPage":1,"navigateFirstPage":1,"navigateLastPage":1,"navigatePages":8,"navigatepageNums":[1],"nextPage":0,"pageNum":1,"pageSize":20,"pages":1,"prePage":0,"size":8,"startRow":1,"total":8}
/// msg : "操作成功"

class BaseListEntity <T>{
  int _code;
  Data<T> _data;
  String _msg;

  int get code => _code;
  Data<T> get data => _data;
  String get msg => _msg;

  BaseListEntity({
      int code, 
      Data<T> data,
      String msg}){
    _code = code;
    _data = data;
    _msg = msg;
}

  BaseListEntity.fromJson(dynamic json) {
    _code = json["code"];
    _data = json["data"] != null ? Data.fromJson(json["data"]) : null;
    _msg = json["msg"];
  }

  Map<String, dynamic> toJson() {
    var map = <String, dynamic>{};
    map["code"] = _code;
    if (_data != null) {
      map["data"] = _data.toJson();
    }
    map["msg"] = _msg;
    return map;
  }

}

/// content : ["",""]
/// endRow : 8
/// firstPage : 1
/// hasNextPage : false
/// hasPreviousPage : false
/// isFirstPage : true
/// isLastPage : true
/// lastPage : 1
/// navigateFirstPage : 1
/// navigateLastPage : 1
/// navigatePages : 8
/// navigatepageNums : [1]
/// nextPage : 0
/// pageNum : 1
/// pageSize : 20
/// pages : 1
/// prePage : 0
/// size : 8
/// startRow : 1
/// total : 8

class Data<T> {
  List<T> _content;
  int _endRow;
  int _firstPage;
  bool _hasNextPage;
  bool _hasPreviousPage;
  bool _isFirstPage;
  bool _isLastPage;
  int _lastPage;
  int _navigateFirstPage;
  int _navigateLastPage;
  int _navigatePages;
  List<int> _navigatepageNums;
  int _nextPage;
  int _pageNum;
  int _pageSize;
  int _pages;
  int _prePage;
  int _size;
  int _startRow;
  int _total;

  List<T> get content => _content;
  int get endRow => _endRow;
  int get firstPage => _firstPage;
  bool get hasNextPage => _hasNextPage;
  bool get hasPreviousPage => _hasPreviousPage;
  bool get isFirstPage => _isFirstPage;
  bool get isLastPage => _isLastPage;
  int get lastPage => _lastPage;
  int get navigateFirstPage => _navigateFirstPage;
  int get navigateLastPage => _navigateLastPage;
  int get navigatePages => _navigatePages;
  List<int> get navigatepageNums => _navigatepageNums;
  int get nextPage => _nextPage;
  int get pageNum => _pageNum;
  int get pageSize => _pageSize;
  int get pages => _pages;
  int get prePage => _prePage;
  int get size => _size;
  int get startRow => _startRow;
  int get total => _total;

  Data({
      List<T> content,
      int endRow, 
      int firstPage, 
      bool hasNextPage, 
      bool hasPreviousPage, 
      bool isFirstPage, 
      bool isLastPage, 
      int lastPage, 
      int navigateFirstPage, 
      int navigateLastPage, 
      int navigatePages, 
      List<int> navigatepageNums, 
      int nextPage, 
      int pageNum, 
      int pageSize, 
      int pages, 
      int prePage, 
      int size, 
      int startRow, 
      int total}){
    _content = content;
    _endRow = endRow;
    _firstPage = firstPage;
    _hasNextPage = hasNextPage;
    _hasPreviousPage = hasPreviousPage;
    _isFirstPage = isFirstPage;
    _isLastPage = isLastPage;
    _lastPage = lastPage;
    _navigateFirstPage = navigateFirstPage;
    _navigateLastPage = navigateLastPage;
    _navigatePages = navigatePages;
    _navigatepageNums = navigatepageNums;
    _nextPage = nextPage;
    _pageNum = pageNum;
    _pageSize = pageSize;
    _pages = pages;
    _prePage = prePage;
    _size = size;
    _startRow = startRow;
    _total = total;
}

  Data.fromJson(dynamic json) {
    _content = json["content"] != null ? json["content"].cast<T>() : [];
    _endRow = json["endRow"];
    _firstPage = json["firstPage"];
    _hasNextPage = json["hasNextPage"];
    _hasPreviousPage = json["hasPreviousPage"];
    _isFirstPage = json["isFirstPage"];
    _isLastPage = json["isLastPage"];
    _lastPage = json["lastPage"];
    _navigateFirstPage = json["navigateFirstPage"];
    _navigateLastPage = json["navigateLastPage"];
    _navigatePages = json["navigatePages"];
    _navigatepageNums = json["navigatepageNums"] != null ? json["navigatepageNums"].cast<int>() : [];
    _nextPage = json["nextPage"];
    _pageNum = json["pageNum"];
    _pageSize = json["pageSize"];
    _pages = json["pages"];
    _prePage = json["prePage"];
    _size = json["size"];
    _startRow = json["startRow"];
    _total = json["total"];
  }

  Map<String, dynamic> toJson() {
    var map = <String, dynamic>{};
    map["content"] = _content;
    map["endRow"] = _endRow;
    map["firstPage"] = _firstPage;
    map["hasNextPage"] = _hasNextPage;
    map["hasPreviousPage"] = _hasPreviousPage;
    map["isFirstPage"] = _isFirstPage;
    map["isLastPage"] = _isLastPage;
    map["lastPage"] = _lastPage;
    map["navigateFirstPage"] = _navigateFirstPage;
    map["navigateLastPage"] = _navigateLastPage;
    map["navigatePages"] = _navigatePages;
    map["navigatepageNums"] = _navigatepageNums;
    map["nextPage"] = _nextPage;
    map["pageNum"] = _pageNum;
    map["pageSize"] = _pageSize;
    map["pages"] = _pages;
    map["prePage"] = _prePage;
    map["size"] = _size;
    map["startRow"] = _startRow;
    map["total"] = _total;
    return map;
  }

}